/*****七牛上传工具类****/
var QiniuUploadUtils = new Object();
//上传文件类型控制
// var filesType={
// 		"0":'RAR,ZIP',//附件
// 		"1":"PDF,DWG,DXF,DOC,DOCX",//POD资料
// 		"2":"PDF",//wafer datasheet
// 		"3":"PDF,DWG,DXF,DOC,DOCX",//mark打标方式
// 		"4":"PDF,XLS,XLSX",//电子料BOM
// 		"5":"RAR,ZIP",//bounding图
// 		"6":"PDF,DWG,DXF"//
// }

//上传选择文件
QiniuUploadUtils.choiceFile = function(obj){
	$(obj).addClass('now-upload');
	$("#itemFile").click();
};
//上传初始化
QiniuUploadUtils.initUploader = function() {
		$("#itemFileContainer").empty().append('<div id="itemFile"></div>');
		var uploader = Qiniu.uploader({
			  runtimes: 'html5,flash,html4',    //上传模式,依次退化
			  browse_button: 'itemFile',       //上传选择的点选按钮，**必需**
			  uptoken_url:URL+"shop/qiniu/longcore/token",            //Ajax请求upToken的Url，**强烈建议设置**（服务端提供）
			  domain: 'https://up.qbox.me/',   //bucket 域名，下载资源时用到，**必需**
			  get_new_uptoken: false,  //设置上传文件的时候是否每次都重新获取新的token
			  container: 'itemFileContainer',           //上传区域DOM ID，默认是browser_button的父元素，'container'
			  max_file_size: '3072mb',           //最大文件体积限制
			  flash_swf_url:'/js/plupload/Moxie.swf',  //引入flash,相对路径
			  max_retries: 3,                   //上传失败最大重试次数
			  dragdrop: false,                   //开启可拖曳上传
			  drop_element: 'itemFileContainer',        //拖曳上传区域元素的ID，拖曳文件或文件夹后可触发上传
			  chunk_size: '4mb',                //分块上传时，每片的体积
			  auto_start: true,                 //选择文件后自动上传，若关闭需要自己绑定事件触发上传
			  unique_names: false,
			  save_key: false,
			  filters: {
		            prevent_duplicates : false
		        },
			  init: {
			      'FilesAdded': function(up, files) {
							//文件选择后处理
							loading();
					  	var type = $(".now-upload").next(".upload-file-list").attr('data');
			    	  var tag = new Date().getTime();
			    	  $(".now-upload").addClass('a'+tag);
	    			  $('.a'+tag).removeClass('now-upload');
			    	  plupload.each(files, function(file,index) {
								//20180719 去掉文件格式校验
			    		  // if( validateFile(file,type) ){
			    			  var tempTag=tag+""+index;
			    			  file.tempTag = tempTag;
			    			  $('.a'+tag).next(".upload-file-list")
			    			  .append('<div class="upload-file-item b'+tempTag+'">'+
			    			            '<img class="upload-file-img" src="images/order_add/bg_order_red_right.png">'+
			    			            '<span class="upload-file-name"></span>'+
			    			            '<img class="upload-file-remove" onclick="OrderAdd.deleteQiniuUrl(this)" src="images/order_add/bg_order_remove.png">'+
			    			          '</div>');
			    			  $(".b"+tempTag).after('<span class="lc-process p'+tempTag+'"><span class="lc-doing-process"></span></span>');
			    		  // }else{
			    			//   return false;
			    		  // }
		          });
			      },
			      'BeforeUpload': function(up, file) {
							// 每个文件上传前,处理相关的事情
							loading();
			      },
			      'UploadProgress': function(up, file) {
			    	  $(".lc-process.p"+file.tempTag+" .lc-doing-process").css('width',file.percent+'%');
			      },
			      'FileUploaded': function(up, file, info) {
							// 每个文件上传成功后,处理相关的事情
							var res = jQuery.parseJSON(info);
							//保存上传文件名称
							$(".b"+file.tempTag+" .upload-file-name").text(res.key).attr('title',res.key).attr('data','http://p87iripip.bkt.clouddn.com/'+res.key);
							//移除进度条
							$(".p"+file.tempTag).remove();
							//校验是否可以显示下一页
							OrderAdd.validatePage();
			      },
			      'Error': function(up, err, errTip) {
							//上传出错时,处理相关的事情
							$(".b"+err.file.tempTag).remove()
							if(err.status == 401) {
								loboxErrorAlert("认证授权失败，请重新登录。");
								$(".lc-process").remove();
							}else {
								loboxErrorAlert("上传失败，请重新上传");
								$(".lc-process").remove();
							}
			      },
			      'UploadComplete': function() {
							//队列文件处理完毕后,处理相关的事情
							unloading();
			      },
			      'Key': function(up, file) {
							try{
								var ext = fileType(file.name);
								//文件前缀的字符结束位置
								var index = stripscript(file.name).lastIndexOf(".");
								//获取文件前缀
								var nameTemp  = stripscript(file.name).substring(0, index);
								//拼装Key
								var key = nameTemp + "_" + getTimes()+"."+ext;
								return key;
							}catch(err){
								return getTimes()+file.name;
							}
			      }
			  }
			});
	};
	//获取当前时间
    var getTimes = function() {
    	var date = new Date();
    	var year = date.getFullYear();
    	var month = date.getMonth()+1;
    	var day = date.getDate();
    	var hour = date.getHours();
    	var minute = date.getMinutes();
    	//返回时间格式
    	return year+''+month+''+day+''+hour+''+minute ;
    }
  //字节大小转换，参数为b
	var bytesToSize = function(bytes) {
	    var sizes = ['Bytes', 'KB', 'MB'];
	    if (bytes == 0) return 'n/a';
	    var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
	    return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i];
	};

	//校验file
	var validateFile = function(file,type) {
		 //TODO 判断上传类型是否正确
		try{
			if(!isNull(filesType[type]) && filesType[type].indexOf(getFileType(file.name).toUpperCase()) == -1){
				loboxWarningAlert("文件格式上传错误!");
					 $(".now-upload").removeClass('now-upload');
					 return false;
			}
		}catch(err) {
		}
	
		return true;
	}
	
	//通过文件名，返回文件的后缀名
	var getFileType = function(name){
		var nameArr = name.split(".");
		return nameArr[nameArr.length-1].toLowerCase();
	};
